# 1. 构建阶段：使用 Node.js 构建 Vue 项目
FROM node:18-alpine AS builder

# 设置工作目录
WORKDIR /app

# 复制依赖文件
COPY package*.json ./

# 安装依赖
RUN npm install --production=false

# 复制项目文件
COPY . .

# 构建生产环境代码
RUN npm run build


# 2. 运行阶段：使用 Nginx 部署静态文件
FROM nginx:1.23-alpine

# 移除默认 Nginx 配置
RUN rm -rf /etc/nginx/conf.d/default.conf

# 复制自定义 Nginx 配置
COPY nginx.conf /etc/nginx/conf.d/

# 复制构建好的静态文件
COPY --from=builder /app/dist/ /usr/share/nginx/html/

# 暴露端口
EXPOSE 80

# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]